home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / gnu / include / incl98.zoo / resource.h < prev    next >
C/C++ Source or Header  |  1993-11-05  |  2KB  |  64 lines

  1. #ifndef _RESOURCE_H
  2. #define _RESOURCE_H
  3.  
  4. #include <time.h>
  5.  
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9.  
  10. #define RLIM_INFINITY    0x7fffffffL
  11.  
  12. #define RLIMIT_CPU    1        /* max cpu time allowed */
  13. #define RLIMIT_RSS    2        /* max memory allowed (total) */
  14. #define RLIMIT_DATA    3        /* max malloc'd memory allowed */
  15. #define RLIMIT_STACK    4        /* max stack size (not used) */
  16. #define RLIMIT_FSIZE    5        /* max file size (not used) */
  17. #define RLIMIT_CORE    6        /* max core file size (not used) */
  18.  
  19. #define RLIM_NLIMITS    6
  20.  
  21. #define RUSAGE_SELF    0
  22. #define RUSAGE_CHILDREN    1
  23.  
  24. #ifndef _COMPILER_H
  25. #include <compiler.h>
  26. #endif
  27.  
  28. struct rusage {
  29.     struct timeval    ru_utime;    /* user time used */
  30.     struct timeval    ru_stime;    /* system time used */
  31. /* The following rusage elements are fake.  They will all contain 0 or
  32.    some other fake value until such time as they are supported under MiNT.
  33. */
  34.     long        ru_maxrss;    /* maximum resident set size */
  35.     long        ru_ixrss;    /* integral shared memory size */
  36.     long        ru_idrss;    /* integral unshared data size */
  37.     long        ru_isrss;    /* integral unshared stack size */
  38.     long        ru_minflt;    /* page reclaims */
  39.     long        ru_majflt;    /* page faults (requiring I/O) */
  40.     long        ru_nswap;    /* memory swaps */
  41.     long        ru_inblock;    /* block input operations */
  42.     long        ru_oublock;    /* block output operations */
  43.     long        ru_msgsnd;    /* messages sent */
  44.     long        ru_msgrcv;    /* messages received */
  45.     long        ru_nsignals;    /* signals received */
  46.     long        ru_nvcsw;    /* voluntary context switches */
  47.     long        ru_nivcsw;    /* involuntary context switches */
  48. };
  49.  
  50. struct rlimit {
  51.     long rlim_cur;
  52.     long rlim_max;
  53. };
  54.  
  55. __EXTERN int    setrlimit    __PROTO((int mode, struct rlimit *rl));
  56. __EXTERN int    getrlimit    __PROTO((int mode, struct rlimit *rl));
  57. __EXTERN int    getrusage    __PROTO((int which, struct rusage *r));
  58.  
  59. #ifdef __cplusplus
  60. }
  61. #endif
  62.  
  63. #endif /* _RESOURCE_H */
  64.